package com.hmall.common.client;

import com.hmall.common.PageDto;
import com.hmall.item.pojo.Item;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(value = "itemservice")
public interface ItemClient {

    //分页查询商品，当feign远程调用如果有多个参数，必须使用@RequestParam注解或者@PathVariable
    @GetMapping("/item/list")
    PageDto<Item> queryItemByPage(@RequestParam("page") Integer page,
                                  @RequestParam("size") Integer size);
    //根据id查询，在数据同步的时候使用
    @GetMapping("/item/{id}")
    Item selectById(@PathVariable Long id);

    /**
     * 根据id更新库存
     * @param id 唯一标识id
     * @param stock 要更新的库存数
     */
    @PutMapping("/item/stock/{id}/{stock}")
    public void updateStock(@PathVariable Long id,@PathVariable Integer stock);
}
